export default {
	// 开启命名空间
	namespaced: true,
	
	state: () => ({
		// 收货地址
		addrs : JSON.parse(uni.getStorageSync('address') || '{}'),
		userInfo: JSON.parse(uni.getStorageSync('userInfo') || '{}'),
		token: '',
		redirectInfo: null
	}),
	
	mutations: {
		// 持久化存储收货地址
		saveAddrsToStorage(state) {
			uni.setStorageSync('address', JSON.stringify(state.addrs))
		},
		
		// 持久化存储 用户信息
		saveUserInfoToStorage(state) {
			uni.setStorageSync('userInfo', JSON.stringify(state.userInfo))
		},
		
		// 持久化存储 Token
		saveTokenToStorage(state) {
			uni.setStorageSync('token', JSON.stringify(state.token))
		},
		
		// 更新收货地址
		updateAddrs(state, val) {
			state.addrs = val
			this.commit('store_user/saveAddrsToStorage')
		},
		
		// 更新用户信息
		updateUserInfo(state, val) {
			state.userInfo = val
			this.commit('store_user/saveUserInfoToStorage')
		},
		
		// 更新 token
		updateToken(state, val) {
			state.token = val
			this.commit('store_user/saveTokenToStorage')
		},
		
		// 记录上一个页面地址
		updateRedirectInfo(state, val) {
			state.redirectInfo = val
			console.log(state.redirectInfo)
		}
	},
	
	getters: {
		getAddr(state) {
			if (!state.addrs.provinceName) return ''
			return state.addrs.provinceName + state.addrs.cityName + state.addrs.countyName + state.addrs.detailInfo
		}
	}
}